package com.kws.tool.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kws.tool.dto.ElectricityPriceByCIdDto;
import com.kws.tool.dto.ElectricityPriceDto;
import com.kws.tool.dto.PhotovoltaicDto;
import com.kws.tool.entity.PhotovoltaicEntity;
import com.kws.tool.vo.*;

import java.util.List;

/**
 * @author : zhangbenting
 * @date : 2024/10/23 16:44
 * @Version: 1.0
 */
public interface PhotovoltaicService extends IService<PhotovoltaicEntity> {

    List<RegionVo> getRegionAndElectricityTypeI(ElectricityPriceDto electricityPriceDto);

    List<VoltageVo> getVoltageAndElectricityTypeII(ElectricityPriceDto electricityPriceDto);

    List<MonthChooseVo> getMonthChoose(ElectricityPriceDto monthChooseDto);

    List<DivideHourVo> getDivideHourElectricity(ElectricityPriceDto electricityPriceDto);

    List<DivideMonthVo> getDivideMonthElectricity(ElectricityPriceDto electricityPriceDto);

    List<PeakValleyVo> getPeakValleyPriceDifference(ElectricityPriceDto electricityPriceDto);

    List<AnalysisVo> getElectricityPriceAnalysis(ElectricityPriceDto electricityPriceDto);

    List<MonthChooseVo> getElectricityLevel(ElectricityPriceDto electricityPriceDto);

    List<MonthChooseVo> getMonthChooseElectricity(ElectricityPriceDto electricityPriceDto);

    List<MonthChooseVo> getPeakValleySpread();

    boolean updateRegionAndElectricityTypeIData();

    boolean updateVoltageAndElectricityTypeII();

    boolean updateMonthChoose();

    boolean updateDivideHourElectricity();

    boolean updateDivideMonthElectricity();

     List<DivideHourVo> getTest(ElectricityPriceDto electricityPriceDto);

    boolean updatePeakValleyPriceDifference();

    boolean updateElectricityLevel();

    boolean updateMonthChooseElectricity();

    boolean updatePeakValleySpread();

    boolean updateElectricityPriceAnalysis();

    boolean updateElectricityPriceByCId(ElectricityPriceByCIdDto electricityPriceByCIdDto);

    List<DivideHourVo> getElectricityPriceByCId(ElectricityPriceByCIdDto electricityPriceByCIdDto);

}
